﻿

using TrackSystem.Entities.Dtos.Logic;
using TrackSystem.Entities.Models;
using TrackSystem.Entities.RequestFeatures;

namespace TrackSystem.Contracts
{
    public interface ILogicRepository : IRepository<LogicTable, int>
    {
        Task<IEnumerable<LogicTable>> GetLogicWithEquipAsync();

        PagedList<LogicTable> GetPagedLogics(RequestParameter parameter);

        Task<LogicDto> GetSingle(int id);

        Task<ApiResult<LogicDto>> InsertLogicAsync(LogicTable table);

        Task<ApiResult<LogicDto>> UpdateLogicAsync(LogicTable table);

        Task<ApiResult<LogicDto>> DeleteLogicAsync(int id);
    }
}
